1. Technical Field
The present invention relates generally to an improved data processing system and in particular to a method and apparatus for managing processing of a data stream in a data processing system. Still more particularly, the present invention relates to a method and apparatus for finding a synchronization point in a data stream.
2. Description of Related Art
Multimedia, the presentation or transfer of information through more than one medium at any time, is a fast growing segment of the computer industry with many applications being developed, which incorporate various features of multimedia. Additionally, many businesses are using multimedia to present information to consumers. Multimedia combines different forms of media in the communication of information to a user through a data processing system, such as a personal computer. A multimedia application is an application that uses different forms of communications within a single application. For example, multimedia applications may communicate data to a user through a computer via audio and video simultaneously. Such multimedia applications are usually bit intensive, real time, and very demanding, requiring ample processing power in the data processing system. Users may access in the multimedia, for example, in the form of video games or movies on a digital video disk (DVD) or through a communications link. Multimedia also is becoming prevalent on the Internet. Many web sites provide multimedia to users visiting the web sites. Additionally, multimedia in the form of videos also are available to users through the Internet.
In providing video from a video server to users in a video on demand format, problems occur when interrupting an MPEG data stream being broadcast and trying to find a correct synchronization point within the MPEG data stream in which to start both audio and video in sync. Presentation of the MPEG data stream may start anywhere, but then audio and video will, in most cases, be out of sync. An MPEG data stream including both video and audio data will have data packets that may be either audio data packets, video data packets, or miscellaneous data packets. For video, some data packets may contain a delta of data based on previous data. To cleanly start presentation of video in an MPEG data stream, a sequence header start for the video must be located. For audio, a correct synchronization point will be an audio packet, which contains a sync word. Thus, synchronization points may be found in both video data packets and audio data packets. A problem exists in selecting the correct synchronization point between both audio and video data packets.
Therefore, it would be advantageous to have an improved method and apparatus for locating a correct synchronization point in a data stream for starting presentation of data.